<?php

/**
 * Backand users list.
 *
 */
class User_Backend_Security_List extends Backend_Component_List
{
    
    /**
    * Backend user role.
    * 
    * @var integer
    */
    public $role;
    
    /**
     * Количество записей, выводимых на странице.
     *
     * @var integer
     */
    protected $_per_page = 20;

    /**
     * Наименования колонок списка.
     *
     * @var array
     */
    protected $_columns = array('user_name', 'email');
    
    /**
     * Наименование поля, по которому нужно упорядочивать записи.
     *
     * @var string
     */
    protected $_order = 'user_name';
    
    
    /**
     * Формирует запрос выборки записей страницы.
     *
     * @return  string
     */
    protected function _getQueryBody()
    {
        $query = 'SELECT SQL_CALC_FOUND_ROWS
                         `s_a`.`id`,
                         `s_a`.`name` `user_name`, 
                         `s_s`.`email`
                    FROM
                         `system_admin` `s_a`, `system_subject` `s_s`
                   WHERE 
                         `s_a`.`subject_id` = `s_s`.`id` 
                     AND 
                         `s_a`.`role` = ' . $this->role . '
                         ' . $this->_getOrder();
        return $query;
    }
    
    /**
    * Deny self delete.
    *
    * @return  array
    */
   protected function _getDisabled() 
   {
       return array(
           'delete' => array(
               array('id' => Security_Session::getProfileId(Security_Subject::ADMIN)),
           ), 
       );
   }
   
}
